package com.bicon.base.data.pojo.botu;

import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 订单退款退货记录
 * </p>
 *
 * @author zhoutyianqi
 * @since 2018-07-25
 */
@TableName("after_sales_records")
public class AfterSalesRecords extends Model<AfterSalesRecords> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private String id;
    /**
     * 申请流水号
     */
    @TableField("apply_no")
    private String applyNo;
    /**
     * 客户ID
     */
    @TableField("user_id")
    private String userId;
    /**
     * 原始订单ID
     */
    @TableField("order_goods_id")
    private String orderGoodsId;
    /**
     * 原始订单号
     */
    @TableField("order_goods_no")
    private String orderGoodsNo;
    /**
     * 店铺ID
     */
    @TableField("store_id")
    private String storeId;
    /**
     * 退款类型(1:仅退款, 2:退货退款)
     */
    private Integer type;
    /**
     * 退款金额
     */
    @TableField("pay_back_amount_calc")
    private BigDecimal payBackAmountCalc;
    /**
     * 实际退款金额
     */
    @TableField("pay_back_amount")
    private BigDecimal payBackAmount;
    /**
     * 退款状态(1:已申请待处理, 2:商家已同意退货，待买家发货或待退款, 3:买家已发货，待商家收货, 4:商家已收货待退款, 5:已退款, 6:商家拒绝退货,7:买家撤销申请)
     */
    private Integer status;
    /**
     * 退款原因
     */
    private String reason;
    /**
     * 申请时间
     */
    @TableField("apply_time")
    private Date applyTime;
    /**
     * 处理时间
     */
    @TableField("process_time")
    private Date processTime;
    /**
     * 撤销时间
     */
    @TableField("cancel_time")
    private Date cancelTime;
    /**
     * 退款退回方式(0:余额, 1:支付宝, 2:微信, 3:银行卡)
     */
    @TableField("pay_back_money_way")
    private Integer payBackMoneyWay;
    /**
     * 是否退运费
     */
    @TableField("pay_back_freight")
    private Integer payBackFreight;
    /**
     * 退回运费金额
     */
    @TableField("pay_back_freight_amount")
    private BigDecimal payBackFreightAmount;
    /**
     * 是否收到货物 (0:未收到货物,1:收到货物)
     */
    @TableField("goods_received")
    private Integer goodsReceived;
    /**
     * 拒绝原因
     */
    @TableField("reject_reason")
    private String rejectReason;
    /**
     * 退款说明
     */
    private String description;
    /**
     * 退货收货点
     */
    @TableField("delivery_point_id")
    private String deliveryPointId;
    /**
     * 退货收货人
     */
    @TableField("delivery_shipper")
    private String deliveryShipper;
    /**
     * 退货区域
     */
    @TableField("delivery_region")
    private String deliveryRegion;
    /**
     * 退货详细收货地址
     */
    @TableField("delivery_address")
    private String deliveryAddress;
    /**
     * 退货联系电话
     */
    @TableField("delivery_telephone")
    private String deliveryTelephone;
    /**
     * 退货配送方式(1:物流配送,2:到店自送)
     */
    @TableField("back_delivery_method")
    private Integer backDeliveryMethod;
    /**
     * 物流公司Id
     */
    @TableField("logistics_company_id")
    private String logisticsCompanyId;
    /**
     * 物流公司名称
     */
    @TableField("logistics_company_name")
    private String logisticsCompanyName;
    /**
     * 物流公司代码
     */
    @TableField("logistics_company_code")
    private String logisticsCompanyCode;
    /**
     * 物流单号
     */
    @TableField("logistics_code")
    private String logisticsCode;
    /**
     * 退货物流备注
     */
    @TableField("logistics_description")
    private String logisticsDescription;
    /**
     * 确认收货时间
     */
    @TableField("received_goods_time")
    private Date receivedGoodsTime;
    /**
     * 退款交易号
     */
    @TableField("pay_back_transaction_code")
    private String payBackTransactionCode;
    /**
     * 退款成功时间
     */
    @TableField("back_time")
    private Date backTime;
    /**
     * 删除标识(0:未删除,1:已删除)
     */
    @TableField("logic_delete")
    private Integer logicDelete;
    /**
     * 创建日期
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新日期
     */
    @TableField("update_date")
    private Date updateDate;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getOrderGoodsId() {
        return orderGoodsId;
    }

    public void setOrderGoodsId(String orderGoodsId) {
        this.orderGoodsId = orderGoodsId;
    }

    public String getOrderGoodsNo() {
        return orderGoodsNo;
    }

    public void setOrderGoodsNo(String orderGoodsNo) {
        this.orderGoodsNo = orderGoodsNo;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public BigDecimal getPayBackAmountCalc() {
        return payBackAmountCalc;
    }

    public void setPayBackAmountCalc(BigDecimal payBackAmountCalc) {
        this.payBackAmountCalc = payBackAmountCalc;
    }

    public BigDecimal getPayBackAmount() {
        return payBackAmount;
    }

    public void setPayBackAmount(BigDecimal payBackAmount) {
        this.payBackAmount = payBackAmount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public Date getProcessTime() {
        return processTime;
    }

    public void setProcessTime(Date processTime) {
        this.processTime = processTime;
    }

    public Date getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(Date cancelTime) {
        this.cancelTime = cancelTime;
    }

    public Integer getPayBackMoneyWay() {
        return payBackMoneyWay;
    }

    public void setPayBackMoneyWay(Integer payBackMoneyWay) {
        this.payBackMoneyWay = payBackMoneyWay;
    }

    public Integer getPayBackFreight() {
        return payBackFreight;
    }

    public void setPayBackFreight(Integer payBackFreight) {
        this.payBackFreight = payBackFreight;
    }

    public BigDecimal getPayBackFreightAmount() {
        return payBackFreightAmount;
    }

    public void setPayBackFreightAmount(BigDecimal payBackFreightAmount) {
        this.payBackFreightAmount = payBackFreightAmount;
    }

    public Integer getGoodsReceived() {
        return goodsReceived;
    }

    public void setGoodsReceived(Integer goodsReceived) {
        this.goodsReceived = goodsReceived;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDeliveryPointId() {
        return deliveryPointId;
    }

    public void setDeliveryPointId(String deliveryPointId) {
        this.deliveryPointId = deliveryPointId;
    }

    public String getDeliveryShipper() {
        return deliveryShipper;
    }

    public void setDeliveryShipper(String deliveryShipper) {
        this.deliveryShipper = deliveryShipper;
    }

    public String getDeliveryRegion() {
        return deliveryRegion;
    }

    public void setDeliveryRegion(String deliveryRegion) {
        this.deliveryRegion = deliveryRegion;
    }

    public String getDeliveryAddress() {
        return deliveryAddress;
    }

    public void setDeliveryAddress(String deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }

    public String getDeliveryTelephone() {
        return deliveryTelephone;
    }

    public void setDeliveryTelephone(String deliveryTelephone) {
        this.deliveryTelephone = deliveryTelephone;
    }

    public Integer getBackDeliveryMethod() {
        return backDeliveryMethod;
    }

    public void setBackDeliveryMethod(Integer backDeliveryMethod) {
        this.backDeliveryMethod = backDeliveryMethod;
    }

    public String getLogisticsCompanyId() {
        return logisticsCompanyId;
    }

    public void setLogisticsCompanyId(String logisticsCompanyId) {
        this.logisticsCompanyId = logisticsCompanyId;
    }

    public String getLogisticsCompanyName() {
        return logisticsCompanyName;
    }

    public void setLogisticsCompanyName(String logisticsCompanyName) {
        this.logisticsCompanyName = logisticsCompanyName;
    }

    public String getLogisticsCompanyCode() {
        return logisticsCompanyCode;
    }

    public void setLogisticsCompanyCode(String logisticsCompanyCode) {
        this.logisticsCompanyCode = logisticsCompanyCode;
    }

    public String getLogisticsCode() {
        return logisticsCode;
    }

    public void setLogisticsCode(String logisticsCode) {
        this.logisticsCode = logisticsCode;
    }

    public String getLogisticsDescription() {
        return logisticsDescription;
    }

    public void setLogisticsDescription(String logisticsDescription) {
        this.logisticsDescription = logisticsDescription;
    }

    public Date getReceivedGoodsTime() {
        return receivedGoodsTime;
    }

    public void setReceivedGoodsTime(Date receivedGoodsTime) {
        this.receivedGoodsTime = receivedGoodsTime;
    }

    public String getPayBackTransactionCode() {
        return payBackTransactionCode;
    }

    public void setPayBackTransactionCode(String payBackTransactionCode) {
        this.payBackTransactionCode = payBackTransactionCode;
    }

    public Date getBackTime() {
        return backTime;
    }

    public void setBackTime(Date backTime) {
        this.backTime = backTime;
    }

    public Integer getLogicDelete() {
        return logicDelete;
    }

    public void setLogicDelete(Integer logicDelete) {
        this.logicDelete = logicDelete;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "AfterSalesRecords{" +
        "id=" + id +
        ", applyNo=" + applyNo +
        ", userId=" + userId +
        ", orderGoodsId=" + orderGoodsId +
        ", orderGoodsNo=" + orderGoodsNo +
        ", storeId=" + storeId +
        ", type=" + type +
        ", payBackAmountCalc=" + payBackAmountCalc +
        ", payBackAmount=" + payBackAmount +
        ", status=" + status +
        ", reason=" + reason +
        ", applyTime=" + applyTime +
        ", processTime=" + processTime +
        ", cancelTime=" + cancelTime +
        ", payBackMoneyWay=" + payBackMoneyWay +
        ", payBackFreight=" + payBackFreight +
        ", payBackFreightAmount=" + payBackFreightAmount +
        ", goodsReceived=" + goodsReceived +
        ", rejectReason=" + rejectReason +
        ", description=" + description +
        ", deliveryPointId=" + deliveryPointId +
        ", deliveryShipper=" + deliveryShipper +
        ", deliveryRegion=" + deliveryRegion +
        ", deliveryAddress=" + deliveryAddress +
        ", deliveryTelephone=" + deliveryTelephone +
        ", backDeliveryMethod=" + backDeliveryMethod +
        ", logisticsCompanyId=" + logisticsCompanyId +
        ", logisticsCompanyName=" + logisticsCompanyName +
        ", logisticsCompanyCode=" + logisticsCompanyCode +
        ", logisticsCode=" + logisticsCode +
        ", logisticsDescription=" + logisticsDescription +
        ", receivedGoodsTime=" + receivedGoodsTime +
        ", payBackTransactionCode=" + payBackTransactionCode +
        ", backTime=" + backTime +
        ", logicDelete=" + logicDelete +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
